/**
 * 设置语言
 * @param language 语言类型如zh_CN
 */
function setLanguage(language){
	//地址带有参数时
	if(location.search){
		//地址中带有语言locale参数时
		if(location.search.indexOf("locale=")!=-1){
			//var reg = new RegExp("locale=\\w{5}","g");
			//替换地址中带的语言参数
			location.href=location.href.replace(/locale=\w{1,8}/g, "locale="+language);
		}else{
			//将语言参数拼接到地址后
			location.href+="&locale="+language;
		}
	}else{
		//地址不带参数时
		location.href+="?locale="+language;
	}
}
/**
 * 设置显示风格
 * @param themes 显示风格如：black、bootstap、default、gray、metro
 */
function setThemes(themes){
	$("#themes").attr("href","core/themes/"+themes+"/easyui.css");
	$.get('login.html?themes='+themes+'&'+Math.random());
}
/**
 * 系统登录，登陆表单校验、提交
 */
function login(){
//    $("#loginForm").form("submit");
	if($("#loginForm").form("validate")){
	    $("#loginForm").submit();
	}
}
/**
 * 重置访法，登录表单清空
 */
function reset(){
    $("#loginForm").form("clear");
}
/**
 * 添加TAB,内容展示指定页面
 * @param tabName Tab选项卡名称
 * @param url Tab内容页要加载的url信息
 */
function addTab(tabName,url){
	if(!$('#centerPanel').tabs('exists',tabName)){
		//如果标签tabName不存在则创建
		$('#centerPanel').tabs('add',{
			title:tabName,
			href:url,
			closable:true
		});
	}else{
		//如果标签tabName存在则直接显示
		$('#centerPanel').tabs('select',tabName);
	}
}
/**
 * 用url更新选中Tab
 * @param url 用于更新Tab页内容的url地址
 */
function updateTab(url){
	var tab = $('#centerPanel').tabs('getSelected');
	$('#centerPanel').tabs('update', {  
        tab: tab,  
        options:{  
            href:encodeURI(url)
        }  
    });
}
/**
 * 获得指定id的标签,如果没有则创建并增加到body内
 * @param id
 */
function get(id){
	var obj = $('#'+id);
	if(obj.length==0){
		$('body').append('<div id="'+id+'"></div>');
		return $('#'+id);
	}else{
		return obj;
	}
}
/**
 * 对指定路径进行打包，并将信息存于同级目录下
 * @param path 需要打包的路径
 */
function zip(title,path){
	var dialog = get('dialog');
	dialog.dialog({  
	    title: title,  
	    width: 400,  
	    height: 100,  
	    closed: false,  
	    cache: false,
	    modal: true,
	    href:'zip.html?path='+path+'&'+Math.random(),
	    onClose:function(){
	    	$('#dialog').remove();
	    }
	});
	dialog.dialog('open');
}
/**
 * 更新打包进度条
 * @param path 打包路径
 * @param task 任务标号
 */
function updateZip(path,task){
	var url = 'zip.html?path='+path+'&type=ajax&'+Math.random();
	//整体刷新进度条
	//$('#zipDialog').dialog('refresh','zip.html?path='+path+'&type=ajax&'+Math.random());
	//仅刷新进度条的值
	$.getJSON(url,function(data){
		$('#progressbar').progressbar('setValue', data.percent);
		if(data.percent>=100){
			//当100%时不再进行刷新操作
			clearInterval(task);
			//关闭对话框
			$('#dialog').dialog('close');
			//移出对应组件
	    	$('#dialog').remove();
	    	//刷新当前文件列表
			refreshTab();
		}
	});
}
/**
 * 对指定路径进行解包，并将信息存于同级目录下
 * @param path 需要解包的路径
 */
function unzip(title,path){
	var dialog = get('dialog');
	dialog.dialog({  
	    title: title,  
	    width: 400,  
	    height: 100,  
	    closed: false,  
	    cache: false,
	    modal: true,
	    href:'unzip.html?path='+path+'&'+Math.random(),
	    onClose:function(){
	    	$('#dialog').remove();
	    }
	});
	dialog.dialog('open');
}
/**
 * 更新解包进度条
 * @param path 打包路径
 * @param task 任务标号
 */
function updateUnZip(path,task){
	var url = 'unzip.html?path='+path+'&type=ajax&'+Math.random();
	//整体刷新进度条
	//$('#unzipDialog').dialog('refresh','zip.html?path='+path+'&type=ajax&'+Math.random());
	//仅刷新进度条的值
	$.getJSON(url,function(data){
		$('#progressbar').progressbar('setValue', data.percent);
		if(data.percent>=100){
			//当100%时不再进行刷新操作
			clearInterval(task);
			//关闭对话框
			$('#dialog').dialog('close');
			//移出对应组件
	    	$('#dialog').remove();
	    	//刷新当前文件列表
			refreshTab();
		}
	});
}
/**
 * AJAX删除选中的文件列表
 * @param title 对话框标题
 * @param askstr 询问语句
 * @param path 删除文件路径
 */
function delFiles(title,askstr,path){
	$.messager.confirm(title, askstr, function(r){
        if (r){
        	var dialog = get('dialog');
        	dialog.dialog({  
        	    title: title,  
        	    width: 400,  
        	    height: 120,  
        	    closed: false,  
        	    cache: false,
        	    modal: true,
        	    href:'delFiles.html?path='+path+'&'+Math.random(),
        	    onClose:function(){
        	    	$('#dialog').remove();
        	    	//刷新当前文件列表
        			refreshTab();
        	    }
        	});
        	dialog.dialog('open');
        }
    });
}
/**
 * 文件重命名
 * @param title 对话框标题
 * @param info 消息信息
 * @param path 重命名文件路径
 */
function changeName(title,info,path){
	$.messager.prompt(title,info,function(newname){
		if(newname){
			$.get('changeFileName.html?path='+path+'&newname='+newname+'&'+Math.random(),function(data,status){
				$.messager.alert(title,data,'',function(){
			    	//刷新当前文件列表
					refreshTab();
				});
			});
		}
	});
}

/**
 * 文件上传
 * @param path 应用名称
 * @param dir 上传的路径
 */
function upload(path){
	var frameDocument = document.getElementById("uploadFrame").contentWindow.document;
	//change则提交
	frameDocument.getElementById('uploadForm').action+="?path="+path;
	$(frameDocument.getElementById('uploadFile')).change(function(){frameDocument.getElementById('uploadForm').submit();});
	frameDocument.getElementById('uploadFile').click();
}
/**
 * 刷新当前tab
 */
function refreshTab(){
	var tab = $('#centerPanel').tabs('getSelected');
	$('#centerPanel').tabs('update', {  
        tab: tab,
        options:{
            href:$('#centerPanel').tabs('tabs').href
        }  
    });
}
/**
 * 新增对话框
 * @param tid 为表名id
 */
function add(tid){
	var dialog = get('dialog');
	dialog.dialog({  
	    title: _title.add,
	    closed: false,  
	    cache: false,
	    modal: true,
	    href:'add.html?_tid='+tid,
	    onLoad:function(){
	    	dialog.dialog('resize',{
	    		width:$("#dialog table").width()+38,
	    		height:$("#dialog table").height()+62
	    	});
	    	dialog.dialog('center');
	    },
	    onClose:function(){
	    	$('#dialog').remove();
	    }
	});
	dialog.dialog('open');
}
/**
 * 编辑对话框
 * @param tid 为表名id
 * @param oid 为表主键id字段的值
 */
function edit(tid,oid){
	var dialog = get('dialog');
	dialog.dialog({  
	    title: _title.edit, 
	    closed: false,  
	    cache: false,
	    modal: true,
	    href:'edit.html?_tid='+tid+"&_oid="+oid,
	    onLoad:function(){
	    	dialog.dialog('resize',{
	    		width:$("#dialog table").width()+38,
	    		height:$("#dialog table").height()+62
	    	});
	    	dialog.dialog('center');
	    },
	    onClose:function(){
	    	$('#dialog').remove();
	    }
	});
	dialog.dialog('open');
}
/**
 * 删除对话框
 * @param tid 为表名id
 * @param oid 为表主键id字段的值
 */
function del(tid,oid){
	$.messager.confirm(_title.del,_title.delDesc,function(r){
		if(r){
			$.get('del.html?_tid='+tid+"&_oid="+oid,function(data,status){
				$.messager.alert(_title.del,data,'',function(){
			    	//刷新当前文件列表
					refreshTab();
				});
			});
		}
	});
}
/**
 * 通过验证后提交
 */
function validSubmit(){
	//alertForm为弹出对话框中的临时表单
	if($("#alertForm").form("validate")){
	    $("#alertForm").form("submit",{
	    	success:function(data){
	    		$("#message").html(data);
		    	//刷新当前文件列表
				refreshTab();
	    	}
	    });
	}
}
/**
 * 搜索文件
 * @param path 要搜索的路径，默认为当前路径
 * @param filename 文件名称
 */
function searchFile(path,filename){
	updateTab('explorer.html?path='+path+'&filename='+filename);
}
/**
 * 检索数据
 * @param tid 表ID
 */
function searchTable(tid){
	$('#'+tid).datagrid('load',{
		search_col_1:$("#search_col_1").val(),
		search_val_1:$("#search_val_1").val(),
		search_col_2:$("#search_col_2").val(),
		search_val_2:$("#search_val_2").val()
	});

	
}
//初始化执行
$(function(){
	//绑定语言下拉框onSelect事件
	if($("#language-select")){
		$("#language-select").combobox({onSelect:function(option){
			setLanguage(option.value);
		}});
	}
	//绑定显示风格下拉框onSelect事件
	if($("#themes-select")){
		$("#themes-select").combobox({onSelect:function(option){
			setThemes(option.value);
		}});
	}
	//用户名回车处理
	if($("#username")){
		$("#username").unbind().bind("keypress",function(event){
			if(event.keyCode==13){
				if($("#password")){
					$("#password").focus();
				}
			}
		});
	}
	//密码回车处理
	if($("#password")){
		$("#password").unbind().bind("keypress",function(event){
			if(event.keyCode==13){
				if($("#randcode")){
					$("#randcode").focus();
				}
			}
		});
	}
	//验证码回车处理
	if($("#randcode")){
		$("#randcode").unbind().bind("keypress",function(event){
			if(event.keyCode==13){
				login();
			}
		});
	}
	//为accordion中的linkbutton注册点击事件
	//为菜单注册点击事件
	$("#menu div a.easyui-linkbutton").click(function (){
		//colname为菜单名称,也是tab的标签名
		var colname = $(this).html();
		//url属性将作为该菜单内容的链接地址
		var url = $(this).attr("url");
		//链接地址存在才打开tab
		if(url!=undefined){
			addTab(colname,url);
		}
	});
});